﻿/*----------------------------------------------------------------
// Copyright (C) 2016 通通优品版权所有。
// 命名空间: STOWaybillMall.Orders.Dto
// 类名：GetUserOrderDetailOutput
// 功能描述：N/A
// 
// 创建标识：Roc.Lee(李鹏鹏) 2017/8/7 15:41:27 TEC-ROCLEE Roc.Lee

// 修改标识：
// 修改描述：
// 
//
//----------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace STOWaybillMall.Orders.Dto
{
    /// <summary>
    /// 订单详情
    /// </summary>
    public class GetUserOrderDetailOutput : TongTongMall.UI.BaseOutput
    {
        /// <summary>
        /// 订单状态。10：待付款；20：待审核；30：待发货；40：待收货；50：关闭的订单；60：交易已完成；70：已被拆分
        /// </summary>
        public byte OrderStatus { get; set; }
        /// <summary>
        /// 订单标识
        /// </summary>
        public string OrderID { get; set; }
        /// <summary>
        /// 留言
        /// </summary>
        public string LeaveMsg { get; set; }
        /// <summary>
        /// 审核失败原因
        /// </summary>
        public string AuditFailReason { get; set; }
        /// <summary>
        /// 总金额
        /// </summary>
        public decimal TotalFee { get; set; }
        /// <summary>
        /// 需要支付金额
        /// </summary>
        public decimal NeedPayFee { get; set; }
        /// <summary>
        /// 余额支付金额
        /// </summary>
        public decimal BalanceOfDeduction { get; set; }
        /// <summary>
        /// 自动关闭时间
        /// </summary>
        public DateTime? AutoCloseTime { get; set; }
        /// <summary>
        /// 自动完成（确认收货）时间
        /// </summary>
        public DateTime? AutoCompleteTime { get; set; }
        /// <summary>
        /// 订单收货信息
        /// </summary>
        public ReceiptInfo Receipt { get; set; }
        /// <summary>
        /// 订单进度
        /// </summary>
        public IList<ScheduleInfo> Schedules { get; set; }
        /// <summary>
        /// 交易信息
        /// </summary>
        public PaymentInfo Payment { get; set; }
        /// <summary>
        /// 收货信息
        /// </summary>
        public class ReceiptInfo
        {
            /// <summary>
            /// 地址
            /// </summary>
            public string FullAddress { get; set; }
            /// <summary>
            /// 收货人
            /// </summary>
            public string Consignee { get; set; }
            /// <summary>
            /// 电话
            /// </summary>
            public string Phone { get; set; }
        }
        /// <summary>
        /// 进度状态
        /// </summary>
        public enum ScheduleEnum : byte
        {
            /// <summary>
            /// 拍下商品
            /// </summary>
            Create = 1,
            /// <summary>
            /// 付款
            /// </summary>
            Payment = 2,
            /// <summary>
            /// 审核
            /// </summary>
            Audit = 3,
            /// <summary>
            /// 卖货
            /// </summary>
            DeliverGoods = 4,
            /// <summary>
            /// 确认收货
            /// </summary>
            ConfirmGetGoods = 5
        }
        /// <summary>
        /// 进度信息
        /// </summary>
        public class ScheduleInfo
        {
            /// <summary>
            /// 进度状态
            /// </summary>
            public ScheduleEnum Schedule { get; set; }
            /// <summary>
            /// 时间
            /// </summary>
            public DateTime Time { get; set; }
            /// <summary>
            /// 标识
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 是已完成
            /// </summary>
            public bool IsComplete { get; set; }
        }
        /// <summary>
        /// 交易信息
        /// </summary>
        public class PaymentInfo
        {
            /// <summary>
            /// 交易时间
            /// </summary>
            public DateTime TradeTime { get; set; }
            /// <summary>
            /// 支付金额
            /// </summary>
            public decimal PayFee { get; set; }
            /// <summary>
            /// 支付方式。10：线上支付；20：线下支付；
            /// </summary>
            public byte PaymentPattern { get; set; }
            /// <summary>
            /// 识别码
            /// </summary>
            public string PapmentNo { get; set; }
            /// <summary>
            /// 支付截图
            /// </summary>
            public string PayPicUri { get; set; }
        }
    }
}
